package 剑指Offer._6170;

/**
 * @author yzh
 * @version 1.0
 * @date 2021/12/14 9:55
 * 求1+2+…+n
 * 求 1+2+...+n ，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
 * 算法：位运算 + 递归
 * (1 + n) * n / 2
 * 使用递归来实现 for 循环
 */
public class _64 {

    public int sumNums(int n) {
        if (n == 0) {
            return (n + 1) >> 2;
        }
        return n + sumNums(n - 1);
    }

}
